Avatar billede axemaster Nybegynder
04. juli 2004 - 14:00 Der er 8 kommentarer og
1 løsning

Dynamisk højde/bredde på felt

Jeg har en side, der består af 3 dele:
top med fast højde.
mellemdel med dynamisk højde.
bund med fast højde.

Man kan lave dynamisk højde/bredde med FRAMES, men kan man lave det på anden måde ???
Højde/bredde skal ændres efter browser vindues størrelse..

Kan man det med iFRAMES, tabels eller CSS ???

Jeg vil helst ikke bruge FRAMES.

Anyone ??
Avatar billede roenving Novice
04. juli 2004 - 14:22 #1
Egentlig er det et (d)html-spørgsmål ...

Og så kommer det an på, hvad du vil og hvilke krav du stiller ...

Hvis dine sider kan være højere end skærmhøjden og det skal være xhtml kan det blive ret kompliceret, men afhængig af hvilke krav, du har er der mange løsninger !-)

Den klassiske løsning, som vist nok virker i alle browsere i quirks-mode er at lave en tabel med tre rækker og sætte bestemt højde på de to yderste rækker og give midter-rækken højden "*" ...

Hvis man skal lave noget, som også holder bare een standard, skal man ud i at lave noget med et 100% højt element, som ligger i bunden, svævende over det lægger man så en top-bar og en bundbar, og så for at undgå at indholdet i grundelementet forsvinder op under topbaren lægger man en ghost med samme højde under denne !o]
Avatar billede axemaster Nybegynder
04. juli 2004 - 18:35 #2
Kan du give mig et kode eksempel, plz ??

Egenlig have jeg regnet med en tabel med en iframe i midten og hvis teksten i iframen var højere end iframen skulle der være en scrollbar.

Kan det lade sig gøre ??
Avatar billede roenving Novice
04. juli 2004 - 20:16 #3
Sagtens, som jeg her har lavet den skulle der ikke være nogen problemer i at få den til at virke i alle browsere ...

Hvis du vil centrere den og ikke fylde hele bredden skal vi lige sætte en div udenom, men det er en småting:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Fuld højde m. iframe</title>
<meta name="keywords" content="roenving,http://www.eksperten.dk/spm/516736">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin:0px;border:0px;padding:0px;}
#top{position:relative;height:120px;background-color:#789;}
#main{position:relative;height:300px;background-color:#559;overflow:hidden;}
#bottom{position:relative;height:120px;background-color:#789;}
#mainiframe{height:100%;width:100%;overflow:auto;}
</style>
<script language="javascript" type="text/javascript">
  var exDivs = ['top','bottom'];//id på elementer, som skal fratrækkes for at finde main-divens højde
  var minH = 300;//main-divens mindste højde
  var ie = (document.all)?true:false;

function sizeDiv(){
  var bH = (window.innerHeight)?window.innerHeight:document.body.offsetHeight;
  var exH = 0;
  for(i=0;exDivs.length>i;i++){
    exH += document.getElementById(exDivs[i]).offsetHeight;
  }
  nyH = Math.max(minH,bH-exH);
  document.getElementById('main').style.height = nyH + 'px';
  ifr = document.getElementById('mainiframe');
  if(ifr)ifr.style.height = nyH + 'px';
}
</script>
</head>
<body onresize="if(!ie){sizeDiv();}else{location.reload(true);}" onload="sizeDiv();">
<div id="top">Top-div</div>
<div id="main">
<iframe src="iframe.html" id="mainiframe" name="mainiframe"></iframe>
</div>
<div id="bottom">Bottom-div</div>
</body>

</html>
Avatar billede axemaster Nybegynder
04. juli 2004 - 21:29 #4
Jeg bøjer mig dybt for deres almægtige visdom :D

Hvis du vil svare får du point og min dybeste respekt i al evighed :D
Avatar billede roenving Novice
04. juli 2004 - 21:32 #5
Ja, men 200p er lige en anelse eller 3 i overkanten, så behold du selv en god del af dem ...

-- velbekomme '-)

-- og vend gerne tilbage, hvis du har brug for nogle justeringer !-)

Og PS! Den reloader ved resize, da IE ikke kan finde vinduets indre størrelse ved formindskelse af dette ...
Avatar billede axemaster Nybegynder
04. juli 2004 - 21:43 #6
Du får nu alle point, da jeg altid gerne vil give mange point for gode, hurtige og pædagogiske svar som dit :D

En lille ting mere... Håber det er ok... kan vi fjerne scrollbars indtil de skal bruges ved for lille skærm ??
Avatar billede roenving Novice
04. juli 2004 - 21:53 #7
html,body{height:100%;margin:0px;border:0px;padding:0px;overflow:auto;}

-- men jeg kan huske noget om nogle problemer med den, men hrm ... hvad var det ?-)
Avatar billede axemaster Nybegynder
04. juli 2004 - 22:01 #8
Finder jeg nok ud af.....endnu engang mange tak...
Avatar billede roenving Novice
04. juli 2004 - 22:06 #9
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester